package com.firefly.admin.system.service;


import com.firefly.admin.system.entity.FySystemRoleMenu;

import java.util.List;
import java.util.Set;

public interface FySystemRoleMenuService {
    /**
     * 根据角色ID删除角色绑定的菜单
     *
     * @param roleId 角色ID
     * @return 删除结果
     */
    int deleteByRoleId(Long roleId);

    /**
     * 角色绑定菜单
     *
     * @param roleId     角色ID
     * @param menuIdList 菜单ID列表
     * @return 绑定结果
     */
    int saveRoleMenus(Long roleId, List<Long> menuIdList);

    /**
     * 根据角色ID获取角色绑定的菜单信息
     *
     * @param roleId 角色ID
     * @return 绑定信息列表
     */
    List<FySystemRoleMenu> selectByRoleId(Long roleId);

    /**
     * 根据菜单ID列表批量删除角色绑定菜单关系
     *
     * @param menuIds 菜单ID列表
     */
    void deleteByMenuIds(Set<Long> menuIds);

    /**
     * 根据菜单ID删除角色绑定菜单关系
     *
     * @param menuId 菜单ID
     */
    void deleteByMenuId(Long menuId);
}
